#pragma once
#ifndef COMPLEX0_H_
#define COMPLEX0_H_
#include<iostream>

class Complex
{
	public:
		Complex();
		Complex(double num1, double num2);
		~Complex();
		Complex operator+(const Complex num) const;
		Complex operator-(const Complex num) const;
		Complex operator*(const Complex num) const;
		Complex operator*(double num);
		Complex operator~() const {
			return Complex(a, -b);
		}
		friend std::ostream&
			operator<<(std::ostream& os, const Complex b);
		friend Complex operator*(double num, const Complex& b);
		friend std::istream&
			operator>>(std::istream& in,  Complex num);
	private:
		double a, b;
};


#endif // !COMPLEX0_H_
